<html>
<head>
<title>Device Drivers</title>
<meta name="ROBOTS" content="index,follow">
<meta name="keywords" content=" $keywords-body$">
<meta name="DESCRIPTION" content="assignment 1">
<meta name="Edited" content="Fri, 15 May 2009 14:18:31 GMT">
<meta name="Published" content="Fri, 15 May 2009 14:21:26 GMT">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="mainStyle.css" type="text/css" media="screen">
</head>
<body bgcolor="#FFFFDF">
<center>
<table cellspacing=10>

<!--#include FILE="topmatter.inc"-->

<tr>
<th></th>
<th><font color="#0000bb" size=+1><b>Device Drivers</b></font></th>
<th></th>
</tr>

</table>

<!--#include FILE="botmatter.inc"-->

<font size=+2 color="#0000FF"><b>Sample code and documentation</b></font>
<p>
<table width=90%>

<tr>
<td colspan=2><font size=+1 color="#0000bb"><b>Archive:</b></font></td>
</tr>

<tr><td>&nbsp;&nbsp;&nbsp;</td><td>

<table>

<tr>
<td><a href="drivers.tar">drivers.tar</a></td>
<td>&nbsp;&nbsp;&nbsp;</td>
<td>All code and Makefile in a tar file</td>
</tr>

<tr><td>&nbsp;&nbsp;&nbsp;</td><td>

</table>

<tr>
<td colspan=2><font size=+1 color="#0000bb"><b>Makefiles:</b></font></td>
</tr>

<tr><td>&nbsp;&nbsp;&nbsp;</td><td>

<table>

<tr>
<td><a href="Kernel/Makefile.01-drivers">Makefile.01-drivers</a></td>
<td>&nbsp;&nbsp;&nbsp;</td>
<td>A simple device - just an array of 100 bytes</td>
</tr>

<tr>
<td><a href="Kernel/Makefile.02-drivers">Makefile.02-drivers</a></td>
<td>&nbsp;&nbsp;&nbsp;</td>
<td>Add module initialization linking functions to device operations</td>
</tr>

<tr>
<td><a href="Kernel/Makefile.03-drivers">Makefile.03-drivers</a></td>
<td>&nbsp;&nbsp;&nbsp;</td>
<td>Implement open, release, read, and write - copy between user and kernel</td>
</tr>

<tr>
<td><a href="Kernel/Makefile.04-drivers">Makefile.04-drivers</a></td>
<td>&nbsp;&nbsp;&nbsp;</td>
<td>Record bytes written so reads can be done precisely</td>
</tr>

<tr><td>&nbsp;&nbsp;&nbsp;</td><tr>

</table>

<tr>
<td colspan=2><font size=+1 color="#0000bb"><b>Kernel Code:</b></font></td>
</tr>

<tr><td>&nbsp;&nbsp;&nbsp;</td><td>

<table>
<tr>
<td><a href="Kernel/driver-01.c">driver-01.c</a></td>
<td>&nbsp;&nbsp;&nbsp;</td>
<td>A simple device - just an array of 100 bytes</td>
</tr>

<tr>
<td><a href="Kernel/driver-02.c">driver-02.c</a></td>
<td>&nbsp;&nbsp;&nbsp;</td>
<td>Add module initialization linking functions to device operations</td>
</tr>

<tr>
<td><a href="Kernel/driver-03.c">driver-03.c</a></td>
<td>&nbsp;&nbsp;&nbsp;</td>
<td>Implement open, release, read, and write - copy between user and kernel</td>
</tr>

<tr>
<td><a href="Kernel/driver-04.c">driver-04.c</a></td>
<td>&nbsp;&nbsp;&nbsp;</td>
<td>Record bytes written so reads can be done precisely</td>
</tr>

<tr><td>&nbsp;&nbsp;&nbsp;</td><td>

</table>

</td></tr>

<tr>
<td colspan=2><font size=+1 color="#0000bb"><b>Userland Code:</b></font></td>
</tr>

<tr><td>&nbsp;&nbsp;&nbsp;</td><td>

<table>
<tr>
<td><a href="Kernel/tryit.c">tryit.c</a></td>
<td>&nbsp;&nbsp;&nbsp;</td>
<td>Application for the last two above</td>
</tr>

</table>

<tr><td colspan=2>&nbsp;</td></tr>

<tr><td colspan=2><font size=+1 color="#0000bb"><b>Documentation:</b></font></td></tr>

<tr> 
<td></td><td>

<table>

<tr>
<td><a href="http://lwn.net/Kernel/LDD3/">Linux Device Driver</a></td>
<td>&nbsp;&nbsp;&nbsp;</td>
<td></td>
</tr>

<tr>
<td><a href="Kernel/readme_03.txt">readme for third file above</a></td>
<td>&nbsp;&nbsp;&nbsp;</td>
<td></td>
</tr>

<tr>
<td><a href="Kernel/readme_04.txt">readme for fourth file above</a></td>
<td>&nbsp;&nbsp;&nbsp;</td>
<td></td>
</tr>

</table>

</td></tr>

</table>
<p>
</center>
</body>
</html>
